package com.ruoyi.common.utils.file;

import java.io.File;
import org.apache.commons.lang3.StringUtils;

/**
 * 文件类型工具类
 *
 * @author ruoyi
 */
public class FileTypeUtils
{
    /**
     * 获取文件类型
     * <p>
     * 例如: ruoyi.txt, 返回: txt
     * 
     * @param file 文件名
     * @return 后缀（不含".")
     */
    public static String getFileType(File file)
    {
        if (null == file)
        {
            return StringUtils.EMPTY;
        }
        return getFileType(file.getName());
    }

    /**
     * 获取文件类型
     * <p>
     * 例如: ruoyi.txt, 返回: txt
     *
     * @param fileName 文件名
     * @return 后缀（不含".")
     */
    public static String getFileType(String fileName)
    {
        int separatorIndex = fileName.lastIndexOf(".");
        if (separatorIndex < 0)
        {
            return "";
        }
        return fileName.substring(separatorIndex + 1).toLowerCase();
    }

    /**
     * 获取文件类型
     * 
     * @param photoByte 文件字节码
     * @return 后缀（不含".")
     */
    public static String getFileExtendName(byte[] photoByte)
    {
        String strFileExtendName = "JPG";
        if ((photoByte[0] == 71) && (photoByte[1] == 73) && (photoByte[2] == 70) && (photoByte[3] == 56)
                && ((photoByte[4] == 55) || (photoByte[4] == 57)) && (photoByte[5] == 97))
        {
            strFileExtendName = "GIF";
        }
        else if ((photoByte[6] == 74) && (photoByte[7] == 70) && (photoByte[8] == 73) && (photoByte[9] == 70))
        {
            strFileExtendName = "JPG";
        }
        else if ((photoByte[0] == 66) && (photoByte[1] == 77))
        {
            strFileExtendName = "BMP";
        }
        else if ((photoByte[1] == 80) && (photoByte[2] == 78) && (photoByte[3] == 71))
        {
            strFileExtendName = "PNG";
        }
        return strFileExtendName;
    }

    public static String returnGs(String wjlg) {

        if (wjlg.endsWith(".avi") ||
                wjlg.endsWith(".wmv") ||
                wjlg.endsWith(".mp4") ||
                wjlg.endsWith(".rmvb") ||
                wjlg.endsWith(".flv")){
            //如果是这种格式那么就是mp4
            return "MP4";
        }else if (wjlg.endsWith(".mp3") ||
                wjlg.endsWith(".rm") ||
                wjlg.endsWith(".wav")){
            return "MP3";
        }else if (wjlg.endsWith(".png") ||
                wjlg.endsWith(".jpg") ||
                wjlg.endsWith(".jpeg")){
            return "JPG";
        }else if (wjlg.endsWith(".doc") ||
                wjlg.endsWith(".docx")){
            return "WORD";
        }else if (wjlg.endsWith(".pdf") ){
            return "PDF";
        } else if (wjlg.endsWith(".xlsx") || wjlg.endsWith(".xls") ){
            return "EXCEL";
        }else if (  wjlg.endsWith(".tiff") || wjlg.endsWith(".tif") ||  wjlg.endsWith(".geotiff")    ){
            return "TIFF";
        }else if (  wjlg.endsWith(".shp") || wjlg.endsWith(".zip") ){
            return "SHP";
        }
        return "未知";
    }


    public static String returnGsByint(String wjlg) {

        if (wjlg.endsWith(".avi") ||
                wjlg.endsWith(".wmv") ||
                wjlg.endsWith(".mp4") ||
                wjlg.endsWith(".rmvb") ||
                wjlg.endsWith(".flv")){
            //如果是这种格式那么就是mp4
            return "2";
        }else if (wjlg.endsWith(".mp3") ||
                wjlg.endsWith(".rm") ||
                wjlg.endsWith(".wav")){
            return "4";
        }else if (wjlg.endsWith(".png") ||
                wjlg.endsWith(".jpg") ||
                wjlg.endsWith(".jpeg")){
            return "1";
        }else if (wjlg.endsWith(".doc") ||
                wjlg.endsWith(".docx") || wjlg.endsWith(".pdf")||
        wjlg.endsWith(".xlsx") || wjlg.endsWith(".xls") ){
            return "7";
        }else if (  wjlg.endsWith(".tiff") || wjlg.endsWith(".tif") ||  wjlg.endsWith(".geotiff")  ){
            return "3";
        }else if (  wjlg.endsWith(".shp") ||  wjlg.endsWith(".zip") ){
            return "5";
        }
        return "7";
    }



    public static String returnGsByString(String wjlg) {

        if (wjlg.endsWith("1")){
            //如果是这种格式那么就是mp4
            return "tp";
        }else if (wjlg.endsWith("2")){
            return "sp";
        }else if (wjlg.endsWith("3") ){
            return "yx";
        }else if (wjlg.endsWith("4") ){
            return "yp";
        }else if (  wjlg.endsWith("5") ){
            return "sl";
        }else if (  wjlg.endsWith("6")){
            return "dmsj";
        }
        else if (  wjlg.endsWith("7")){
            return "wd";
        }
        return "qt";
    }

}